#ifndef _ITEM_H_DACHI_
#define _ITEM_H_DACHI_
#include <vector>
#include <string>
#include <fstream>
#include <iostream>

class Item{
	public:
	~Item(){}
	virtual std::vector<int> getModifiers() = 0; //[atk, def, mag, maxMana, maxHP, Stamina, magDef]
	const std::string getName(){
			return name;
	}

	void setName(std::string n){
		name = n;
	}

	virtual void printInfo(std::string prefix = "") = 0;

	friend bool saveItem (Item&, std::ofstream&);
	friend Item* loadItem(std::ifstream & input);

	protected:
	
	Item(std::string name, int mana, int stamina, int hp, int magdef):
	name(name),
	maxMana(mana),
	maxStamina(stamina),
	maxHP(hp),
	magDef(magdef)
	{
	}
	Item(){};	
	std::string name;
	int maxMana;
	int maxStamina;
	int maxHP;
	int magDef;
};

#endif
